/**
 * 
 */
package com.itinsys.enma.dao;

import java.util.List;
import java.util.Map;

import com.itinsys.enma.domain.Planning;
import com.itinsys.enma.exception.planning.PlanningExistsException;

/**
 * @author pferraz
 *
 */
public interface PlanningDAO {

	List<Planning> getAllPlanning() throws PlanningExistsException;

	Planning getById(int id) throws PlanningExistsException;

	boolean addPlanning(Planning p);

	void updatePlanning(Planning p);

	List<Planning> getByUserName(String userName) throws PlanningExistsException;

	boolean deletePlanning(int id);

	List<Planning> getHistoryByCareerAndYear(String career, String year) throws PlanningExistsException;

	Planning getPlannByCareerYearStatus(String career, String careerYear,String status) throws PlanningExistsException;

	List<Planning> getSendedPlannings() throws PlanningExistsException;

	List<Planning> getConflictAndWaitingConfPlanns() throws PlanningExistsException;

	Planning queryStatusBySend(String career, String careerYear) throws PlanningExistsException;

	List<Planning> getByFiltersAndUserName(String userName,	Map<String, String> filterMap);

	List<String> getCareerNamesByUserName(String userName);

	boolean unConfirmPlanning(int id);


}
